The present invention relates to the editing and playback of music using a music editing application, in particular using musical notation.
Music notation software allows a user to enter and edit a musical piece using conventional music notation. Once a musical score has been completed, the software can be used to print the music for use in rehearsal or performance.
In performance of music for more than one player, each musician is typically given an extracted score consisting of only their music. Before the advent of music notation software, copyists would have to copy these parts by hand from the composer's score. The norm in notation software is to extract these parts, essentially into individual and independent scores. A considerable amount of work is necessary to update the layout and format of these extracted parts to make them usable by a performer. Additionally, if a composer or arranger wishes to make a change, either all the parts and score need to be changed separately, or the change needs to be applied to the score and a new set of parts copied or extracted, and all the formatting changes applied to each. The problem is compounded by the fact that there are some types of alteration to either the score or a part which need to be reflected in the other, and some types of change which need to be isolated to the context in which the change is made. Prior art music editing systems such as “Mosaic” and “Igor” have failed to adequately address these problems.
Music editing software is also increasingly used by educators, artists and composers to combine music with other media. The ability to integrate video with music notation could allow quick and easy creation of music for anything from short educational, art and promotional videos to television shows and feature films. However, unlike video, musical notation is not linear with respect to time, making this integration difficult.
The present invention seeks to alleviate some of these problems.
Accordingly, in a first aspect of the invention, there is provided a method of processing music data, comprising: storing score data providing a representation of a musical score; storing part data defining a musical part derived from the score, the part data including data specific to the part, wherein the score data and part data together form an accessible data representation of the part; and modifying or outputting the part by accessing the part representation.
In this way, a linked representation of the score and part can be provided, in which the score and part can be modified independently of each other. The part data thus preferably effectively provides a dynamic view of the score, containing only the relevant music for that part, modified in accordance with any part-specific data (e.g. layout information). Usefully, changes in the score may be reflected in the part, preferably unless overridden by corresponding data in the score. This can remove the need in many circumstances for performing part extraction, and can allow changes to be made to a score for which parts have been defined without the need to regenerate the parts. This is achieved by processing the part based on the part representation formed by the linked score data and part data. Part data for a plurality of parts may be stored.
The score data preferably comprises music content data defining musical notation elements, and the part-specific data preferably comprises part-specific layout data defining the layout of musical notation elements in the part. Thus the musical content of a part is preferably defined in the score, with the layout of the part defined in the part (or alternatively in both the part and score in combination). In this way, a single representation of the music content can be provided, ensuring consistency of music content across parts, whilst still providing the flexibility to refine the presentation or layout of that content for a given part or parts.
In a further aspect, the invention provides a method of generating output for one or more parts of a musical score using a music notation software program, comprising: inputting score data defining the musical score to the program; defining one or more dynamic views of the score, each view representing a musical part and specifying a portion of the score to be included in the part and layout data to be applied to the specified portion of the score when outputting the part; and generating output for a part from the score data using the dynamic view defined for the part.
By defining parts as dynamic views of the score, the need for part extraction can be removed in many circumstances.
In a further aspect of the invention, there is provided an interactive music editing application for editing a musical score, comprising: means for maintaining a representation of the score; means for maintaining a representation of one or more musical parts derived from the score; and a music editing interface including: a score editing view for displaying and editing the score; and a part editing view for displaying and editing a selected part; wherein the application is adapted to apply changes made in the score view to the score representation, and to distinguish, in the part editing view, between changes specific to the selected part and changes not specific to the selected part, and to apply the changes to the part representation or score representation accordingly.
This can give a user greater flexibility in editing scores and parts, allowing them to be edited in parallel. The score and part representations are preferably as set out above.
The invention further provides music data processing apparatus, comprising: memory means for storing score data providing a representation of a musical score; memory means for storing part data defining one or more musical parts derived from the score, the part data including data specific to the part or parts, wherein the score data and part data together form an accessible data representation of the part or parts; and processing means for processing the part or parts by accessing the part representation.
In a further aspect, the invention provides a method of synchronizing a musical score with a source of time-based information, comprising: deriving a mapping between rhythmic positions associated with the musical score and a reference time base; and synchronizing the musical score and the source of time-based information using the derived mapping.
In this way, time-based information, such as audio/visual data, can be synchronized more accurately with a musical score, which is typically defined against a non-linear, non-uniform, rhythm-based time base.
The mapping preferably maps tempo changes in the musical score to the reference time base. This can allow the mapping to be represented more efficiently. The mapping is preferably in the form of a table mapping rhythmic positions to timecodes, the table preferably comprising entries representing tempo changes in the musical score, each entry specifying the rhythmic position at which the tempo change occurs and the corresponding timecode. In this way, an efficient two-way mapping between rhythmic time and real time can be provided.
Synchronizing may comprise displaying a playback position indicator in the score corresponding to a current time position of the time-based data source. This can assist a composer in composing music which is to accompany the source.
The time-based data source preferably comprises media data, such as video data, and synchronizing the score with the time-based data source preferably comprises performing synchronous playback of the media data and the score, which can allow a composer to effectively review a composition intended to accompany media data.
In a further aspect, the invention provides a music notation software application comprising: a user interface for displaying and editing a musical score; a score playback component for playing back the score; a video playback component for playing a video source; and a synchronization component for synchronizing the score and the video source.
The invention also provides a media playback system for performing synchronous playback of a musical score with a video source, comprising: a processing component adapted to derive a mapping between rhythmic positions associated with the musical score and a reference time base; and a playback component adapted to synchronously play the score and video source using the derived mapping.
The invention also provides a computer program and a computer program product for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein, and a computer readable medium having stored thereon a program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
The invention also provides a signal embodying a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein, a method of transmitting such a signal, and a computer product having an operating system which supports a computer program for carrying out any of the methods described herein and/or for embodying any of the apparatus features described herein.
The invention extends to methods and/or apparatus substantially as herein described with reference to the accompanying drawings.
Any feature in one aspect of the invention may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa.
Furthermore, features implemented in hardware may generally be implemented in software, and vice versa. Any reference to software and hardware features herein should be construed accordingly.